<?php
// http://www.my-site.ru/
/*
	Copyright 2006 Alex Djachenko http://www.my-site.ru
	Authors: Alex Djachenko
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
// Этот файл вызывается при включени branch-а
// Через массив MT_mod_cust ему передается объект-переключатель,
// который позволяет получать элементы запрошенного URL,
// получать пути к файлам внутри branch-а и 
// генерировать URL, передавая пути только внутри текущего branch
// (не зависимо от того, на каком уровне был подключен данный branch) 

// Branch admin является стандартным, и подключается
// модулем switch к ветке admin/имя_модуля
// В настройках модуля admin можно задать параметры авторизации доступа
// к ветке admin (по умолчанию, условием доступа является вход с локального браузера)
 
$Switcher = $MT_mod_cust['Switcher'];
// Устанавливаем общий шаблон для всей ветки
$Switcher->tml_add('sigma',$MT_mod_name,'admin.tml');
// Передаем в шаблон переменную
$Switcher->tml_setvar('title','Администрирование ленты новостей');
// Передаем в шаблон url начала ветки (для ссылки "назад")
$Switcher->tml_setvar('url_begin',$Switcher->url());

// Разбираем первый параметр (модуль switch передал нам основную ветку
// из url со смещением 2, то есть admin/имя_модуля игнорируются,
// и обработка начинается за следующего, после имени модуля элемента
switch($Switcher->next())
{
	//
	case 'delnews':
		$Processor->action('delnews',(int) $Switcher->next());
		// Возвращаемся назад
		$Switcher->tml_redirect('REFERER');
	break;
	case 'shownews':
		// Показываем ленту новостей
		onedit_button($Switcher->url('THIS'));
		echo "<br />";
		$confid  = $Switcher->next();
		$page = $Switcher->next(); 
		if ('text'==$page)
		{
			//
			$this_news = $Processor->action('getnews',(integer) $Switcher->next());
			// Инициализируем шаблонный движок Sigma из пакета PEAR
			$tml = new HTML_Template_Sigma('/');
			// Загружаем шаблон ленты новостей
			$tml->loadTemplateFile(mst_modpath($MT_mod_name,'tml/msg.tml'));
			// Регистрируем функцию date() в качестве функции шаблона
			// для большей гибкости в форматировании даты.
			$tml->setCallbackFunction('date', 'date');
			// Передаем в шаблон данные, преобразовав их в представление html
			$tml->setVariable($this_news->get('html'));
			$tml->parse();
			$tml->show();
		}else
		{
			// Показываем форму
			$form = new HTML_QuickForm('addnews',
								'post', 
								$Switcher->url('addnews'));
			$form->addElement('header', null, 'Добавить новость');
			$form->addElement('hidden', 'confid', $confid);
			$form->addElement('text','sabj','Тема',array('size'=>50));
			$form->addElement('date','date_actual','Дата');
			$form->addElement('text','img','Картинка',array('size'=>50));
			$form->addElement('textarea','text','Текст новости',
						array('cols'=>50,'rows'=>5));
			$form->addElement('select','type','Тип контента',
						array('url'=>'Ссылка','full_text'=>'Текст'));
			$form->addElement('text','url','Ссылка',array('size'=>50));
			$form->addElement('textarea','full_text','HTML-код новости',
						array('cols'=>50,'rows'=>10));
			$form->addElement('submit', null, 'Добавить');
			$form->display();
			// Показываем ленту
			news_show($confid,10,$page,
				'tml/lenta.tml',$Switcher);
		}
	break;
	case 'addnews':
		// Добавляем новость
		$this_msg = $Processor->storageObj('msg');
		$this_msg->set('form',$_POST['confid'],'confid');
		$this_msg->set('form',$_POST['sabj'],'sabj');
		$this_msg->set('form',
						mktime(0,0,1,$_POST['date_actual']['M'],
						$_POST['date_actual']['d'],$_POST['date_actual']['Y'])
						,'date_actual');
		$this_msg->set('form',time(),'date_send');				
		$this_msg->set('form',$_POST['type'],'type');
		$this_msg->set('form',$_POST['url'],'url');
		$this_msg->set('form',$_POST['img'],'img');
		$this_msg->set('form',$_POST['text'],'text');
		$this_msg->set('form',$_POST['full_text'],'full_text');
		$this_msg->set('form','false','del');
		$this_msg->set('form',$_SERVER["REMOTE_ADDR"],'ip');
		$Processor->action('addnews',$this_msg);
		// Переходим назад
		$Switcher->tml_redirect('REFERER');
		// echo "<pre>";
		// var_dump($this_msg);
		// echo "</pre>";
	break;
	case 'main':
	default:
		// Показываем список конференций и меню
		?><a href="<?=$Switcher->url('shownews/1')?>">Лента 1</a><?
	break;
}
// echo '<br />';


?>